Ubuntu allow root login
在 Ubuntu 中默认是禁止 root 远程 SSH 登录的,需要手动开启。下面给你一套标准、安全的操作步骤(适用于 Ubuntu 20.04 / 22.04 / 24.04)。
1. 先确认是否安装 SSH
dpkg -l | grep openssh-server
如果没有安装:
sudo apt update
sudo apt install openssh-server -y
确认 SSH 服务运行:
sudo systemctl status ssh
2. 给 root 设置密码(默认可能未启用)
Ubuntu 默认 root 没有密码,需要设置:
sudo passwd root
输入两次密码即可。
3. 修改 SSH 配置允许 root 登录
编辑配置文件:
sudo nano /etc/ssh/sshd_config
找到这一行:
#PermitRootLogin prohibit-password
改成:
PermitRootLogin yes
⚠ 如果没有这行,就手动添加。
3.1. 同时确认密码认证开启
找到:
PasswordAuthentication
确保是:
PasswordAuthentication yes
4. 重启 SSH 服务
sudo systemctl restart ssh
5. 测试远程登录
在另一台机器执行:
ssh root@你的服务器IP
6. 如果无法连接
检查防火墙:
6.1. 如果用 UFW:
sudo ufw allow ssh
sudo ufw status
6.2. 如果是云服务器
需要在云平台安全组放行 22 端口。
🚨 强烈安全提醒
开放 root + 密码登录非常不安全,尤其是公网服务器。
更安全方式:
0.1. 推荐做法
PermitRootLogin prohibit-password
然后使用:
-
普通用户登录
-
sudo 提权
-
或使用 SSH Key 登录
🔒 更安全的 root 远程方式(推荐)
-
生成密钥
-
把公钥加入
/root/.ssh/authorized_keys -
设置:
PermitRootLogin prohibit-password
PasswordAuthentication no
这样只允许密钥登录 root。